<!DOCTYPE HTML>

<html lang="en">
<head>

<title>OAuth2ErrorCodes (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="OAuth2ErrorCodes (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="OAuth2ErrorCodes.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="OAuth2ErrorCodes.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="OAuth2ErrorCodes.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.oauth2.core</a></div>
<h2 title="Interface OAuth2ErrorCodes" class="title">Interface OAuth2ErrorCodes</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public interface <span class="typeNameLabel">OAuth2ErrorCodes</span></pre>
<div class="block">Standard error codes defined by the OAuth 2.0 Authorization Framework.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">

</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#ACCESS_DENIED">ACCESS_DENIED</a></span></code></th>
<td class="colLast">
<div class="block"><code>access_denied</code> - The resource owner or authorization server denied the
request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INSUFFICIENT_SCOPE">INSUFFICIENT_SCOPE</a></span></code></th>
<td class="colLast">
<div class="block"><code>insufficient_scope</code> - The request requires higher privileges than provided
by the access token.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_CLIENT">INVALID_CLIENT</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_client</code> - Client authentication failed (e.g., unknown client, no
client authentication included, or unsupported authentication method).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_GRANT">INVALID_GRANT</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_grant</code> - The provided authorization grant (e.g., authorization code,
resource owner credentials) or refresh token is invalid, expired, revoked, does not
match the redirection URI used in the authorization request, or was issued to
another client.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_REDIRECT_URI">INVALID_REDIRECT_URI</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_redirect_uri</code> - The value of one or more redirection URIs is
invalid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_REQUEST">INVALID_REQUEST</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_request</code> - The request is missing a required parameter, includes an
invalid parameter value, includes a parameter more than once, or is otherwise
malformed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_SCOPE">INVALID_SCOPE</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_scope</code> - The requested scope is invalid, unknown, malformed or
exceeds the scope granted by the resource owner.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#INVALID_TOKEN">INVALID_TOKEN</a></span></code></th>
<td class="colLast">
<div class="block"><code>invalid_token</code> - The access token provided is expired, revoked, malformed,
or invalid for other reasons.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#SERVER_ERROR">SERVER_ERROR</a></span></code></th>
<td class="colLast">
<div class="block"><code>server_error</code> - The authorization server encountered an unexpected condition
that prevented it from fulfilling the request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#TEMPORARILY_UNAVAILABLE">TEMPORARILY_UNAVAILABLE</a></span></code></th>
<td class="colLast">
<div class="block"><code>temporarily_unavailable</code> - The authorization server is currently unable to
handle the request due to a temporary overloading or maintenance of the server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#UNAUTHORIZED_CLIENT">UNAUTHORIZED_CLIENT</a></span></code></th>
<td class="colLast">
<div class="block"><code>unauthorized_client</code> - The client is not authorized to request an
authorization code or access token using this method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#UNSUPPORTED_GRANT_TYPE">UNSUPPORTED_GRANT_TYPE</a></span></code></th>
<td class="colLast">
<div class="block"><code>unsupported_grant_type</code> - The authorization grant type is not supported by
the authorization server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#UNSUPPORTED_RESPONSE_TYPE">UNSUPPORTED_RESPONSE_TYPE</a></span></code></th>
<td class="colLast">
<div class="block"><code>unsupported_response_type</code> - The authorization server does not support
obtaining an authorization code or access token using this method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="OAuth2ErrorCodes.html#UNSUPPORTED_TOKEN_TYPE">UNSUPPORTED_TOKEN_TYPE</a></span></code></th>
<td class="colLast">
<div class="block"><code>unsupported_token_type</code> - The authorization server does not support the
revocation of the presented token type.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">

</a>
<h3>Field Detail</h3>
<a id="INVALID_REQUEST">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INVALID_REQUEST</h4>
<pre>static final&nbsp;java.lang.String INVALID_REQUEST</pre>
<div class="block"><code>invalid_request</code> - The request is missing a required parameter, includes an
invalid parameter value, includes a parameter more than once, or is otherwise
malformed.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_REQUEST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="UNAUTHORIZED_CLIENT">

</a>
<ul class="blockList">
<li class="blockList">
<h4>UNAUTHORIZED_CLIENT</h4>
<pre>static final&nbsp;java.lang.String UNAUTHORIZED_CLIENT</pre>
<div class="block"><code>unauthorized_client</code> - The client is not authorized to request an
authorization code or access token using this method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.UNAUTHORIZED_CLIENT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACCESS_DENIED">

</a>
<ul class="blockList">
<li class="blockList">
<h4>ACCESS_DENIED</h4>
<pre>static final&nbsp;java.lang.String ACCESS_DENIED</pre>
<div class="block"><code>access_denied</code> - The resource owner or authorization server denied the
request.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.ACCESS_DENIED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="UNSUPPORTED_RESPONSE_TYPE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>UNSUPPORTED_RESPONSE_TYPE</h4>
<pre>static final&nbsp;java.lang.String UNSUPPORTED_RESPONSE_TYPE</pre>
<div class="block"><code>unsupported_response_type</code> - The authorization server does not support
obtaining an authorization code or access token using this method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.UNSUPPORTED_RESPONSE_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INVALID_SCOPE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INVALID_SCOPE</h4>
<pre>static final&nbsp;java.lang.String INVALID_SCOPE</pre>
<div class="block"><code>invalid_scope</code> - The requested scope is invalid, unknown, malformed or
exceeds the scope granted by the resource owner.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_SCOPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INSUFFICIENT_SCOPE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INSUFFICIENT_SCOPE</h4>
<pre>static final&nbsp;java.lang.String INSUFFICIENT_SCOPE</pre>
<div class="block"><code>insufficient_scope</code> - The request requires higher privileges than provided
by the access token. The resource server SHOULD respond with the HTTP 403
(Forbidden) status code and MAY include the "scope" attribute with the scope
necessary to access the protected resource.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://tools.ietf.org/html/rfc6750#section-3.1">RFC-6750 - Section
3.1 - Error Codes</a>,
<a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INSUFFICIENT_SCOPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INVALID_TOKEN">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INVALID_TOKEN</h4>
<pre>static final&nbsp;java.lang.String INVALID_TOKEN</pre>
<div class="block"><code>invalid_token</code> - The access token provided is expired, revoked, malformed,
or invalid for other reasons. The resource SHOULD respond with the HTTP 401
(Unauthorized) status code. The client MAY request a new access token and retry the
protected resource request.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://tools.ietf.org/html/rfc6750#section-3.1">RFC-6750 - Section
3.1 - Error Codes</a>,
<a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_TOKEN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SERVER_ERROR">

</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVER_ERROR</h4>
<pre>static final&nbsp;java.lang.String SERVER_ERROR</pre>
<div class="block"><code>server_error</code> - The authorization server encountered an unexpected condition
that prevented it from fulfilling the request. (This error code is needed because a
500 Internal Server Error HTTP status code cannot be returned to the client via a
HTTP redirect.)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.SERVER_ERROR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="TEMPORARILY_UNAVAILABLE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>TEMPORARILY_UNAVAILABLE</h4>
<pre>static final&nbsp;java.lang.String TEMPORARILY_UNAVAILABLE</pre>
<div class="block"><code>temporarily_unavailable</code> - The authorization server is currently unable to
handle the request due to a temporary overloading or maintenance of the server.
(This error code is needed because a 503 Service Unavailable HTTP status code
cannot be returned to the client via an HTTP redirect.)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.TEMPORARILY_UNAVAILABLE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INVALID_CLIENT">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INVALID_CLIENT</h4>
<pre>static final&nbsp;java.lang.String INVALID_CLIENT</pre>
<div class="block"><code>invalid_client</code> - Client authentication failed (e.g., unknown client, no
client authentication included, or unsupported authentication method). The
authorization server MAY return a HTTP 401 (Unauthorized) status code to indicate
which HTTP authentication schemes are supported. If the client attempted to
authenticate via the &quot;Authorization&quot; request header field, the
authorization server MUST respond with a HTTP 401 (Unauthorized) status code and
include the &quot;WWW-Authenticate&quot; response header field matching the
authentication scheme used by the client.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_CLIENT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INVALID_GRANT">

</a>
<ul class="blockList">
<li class="blockList">
<h4>INVALID_GRANT</h4>
<pre>static final&nbsp;java.lang.String INVALID_GRANT</pre>
<div class="block"><code>invalid_grant</code> - The provided authorization grant (e.g., authorization code,
resource owner credentials) or refresh token is invalid, expired, revoked, does not
match the redirection URI used in the authorization request, or was issued to
another client.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_GRANT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="UNSUPPORTED_GRANT_TYPE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>UNSUPPORTED_GRANT_TYPE</h4>
<pre>static final&nbsp;java.lang.String UNSUPPORTED_GRANT_TYPE</pre>
<div class="block"><code>unsupported_grant_type</code> - The authorization grant type is not supported by
the authorization server.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.UNSUPPORTED_GRANT_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="UNSUPPORTED_TOKEN_TYPE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>UNSUPPORTED_TOKEN_TYPE</h4>
<pre>static final&nbsp;java.lang.String UNSUPPORTED_TOKEN_TYPE</pre>
<div class="block"><code>unsupported_token_type</code> - The authorization server does not support the
revocation of the presented token type.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://tools.ietf.org/html/rfc7009#section-2.2.1">RFC-7009 - Section
2.2.1 - Error Response</a>,
<a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.UNSUPPORTED_TOKEN_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INVALID_REDIRECT_URI">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INVALID_REDIRECT_URI</h4>
<pre>static final&nbsp;java.lang.String INVALID_REDIRECT_URI</pre>
<div class="block"><code>invalid_redirect_uri</code> - The value of one or more redirection URIs is
invalid.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://datatracker.ietf.org/doc/html/rfc7591#section-3.2.2">RFC-7591
- Section 3.2.2 - Client Registration Error Response</a>,
<a href="../../../../../constant-values.html#org.springframework.security.oauth2.core.OAuth2ErrorCodes.INVALID_REDIRECT_URI">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="OAuth2ErrorCodes.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="OAuth2ErrorCodes.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="OAuth2ErrorCodes.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040f51178ad97cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
